/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*-  */
/*
 * catchit
 * Copyright (C) 2013 Ryan Grinkewitz <graphite@Toto>
 * 
 */

#ifndef _GAME_STATE_H_
#define _GAME_STATE_H_

#include "player.h"
#include "computer.h"
#include "level.h"
#include <vector>

class GameState
{
public:

	~GameState();
	
	Player* getPlayer();
	void setPlayer(Player* player);

	Computer* getComputer();
	void setComputer(Computer* computer);

	std::vector<Level*> getLevels();
	void insertLevel(Level* level);
	Level* getLevel(int index);

	void setGamePosition(int game_position);
	int getGamePosition();
	
protected:

private:
	Player* player;
	Computer* computer;
	std::vector<Level*> levels;
	int game_position;
};

#endif // _GAME_STATE_H_

